#ifndef PLAYER_H
#define PLAYER_H

#include <vector>
#include <QString>

using namespace std;

#include "cards.h"

class Territory;

class Player
{
public:
        Player(QString color, QString name);
        virtual ~Player();

        void addTerritory(Territory* toAdd);
        void removeTerritory(Territory* toRemove);
        void addCard(Cards* toAdd);

        //Accessor Methods
        QString getName() const {return m_name;}
        int getNumArmy() const {return m_num_armies;}
        int getNumTerr();
        vector<Cards*> getCards() {return m_cards;}
        vector<Territory*> getTerritories() {return m_territories;}
        QString getColor() const {return m_ColorString;}

private:
        enum Colors
        {
                RED,
                ORANGE,
                YELLOW,
                GREEN,
                BLUE,
                PURPLE
        };

        Colors              m_color;
        int                 m_num_armies;
        QString             m_name;
        vector<Territory*>  m_territories;
        vector<Cards*>      m_cards;
        QString             m_ColorString;
};

#endif // PLAYER_H
